package com.peas.platform.module.icims.base.approve.adapter.repository.po;

import java.util.*;
import java.math.*;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.peas.platform.framework.mybatisplus.po.BasePo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.ibatis.type.JdbcType;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

// 审批单待办待阅
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "`tbl_approve_order_tobe`")
public class ApproveOrderTobePo extends BasePo {

    //审批单ID
    //外键
    @NotNull(message = "审批单ID不能为空")
    @TableField(value = "`approve_order_id`", jdbcType = JdbcType.BIGINT)
    private Long approveOrderId;

    //待办待阅类型
    //1:待办，2:待阅
    @NotBlank(message = "待办待阅类型不能为空")
    @Size(max = 20, message = "待办待阅类型不能超过20个字符")
    @TableField(value = "`approve_order_tobe_type`", jdbcType = JdbcType.VARCHAR)
    private String approveOrderTobeType;

    //待办待阅标题
    @NotBlank(message = "待办待阅标题不能为空")
    @Size(max = 100, message = "待办待阅标题不能超过100个字符")
    @TableField(value = "`approve_order_tobe_title`", jdbcType = JdbcType.VARCHAR)
    private String approveOrderTobeTitle;

    //待办待阅内容
    @Size(max = 200, message = "待办待阅内容不能超过200个字符")
    @TableField(value = "`approve_order_tobe_content`", jdbcType = JdbcType.VARCHAR)
    private String approveOrderTobeContent;

    //接收人ID
    //外键
    @TableField(value = "`receive_user_id`", jdbcType = JdbcType.BIGINT)
    private Long receiveUserId;

    //查看时间
    @TableField(value = "`read_time`", jdbcType = JdbcType.TIMESTAMP)
    private Date readTime;

    //处理时间
    @TableField(value = "`process_time`", jdbcType = JdbcType.TIMESTAMP)
    private Date processTime;

    //状态
    //1待处理，2已处理
    @Size(max = 20, message = "状态不能超过20个字符")
    @TableField(value = "`state`", jdbcType = JdbcType.VARCHAR)
    private String state;

}
